Orchestration cloud services are applications that facilitate the creation, coordination, and management of other cloud-based services, such software as a service (SaaS) and platform as a service (PaaS) offerings. For example, orchestration cloud services may be responsible for automatically scaling up cloud service offerings by deploying additional hardware and software resources to satisfy increased demand. As another example, an orchestration cloud service may automatically apply patches and other updates to the underlying cloud computing resources to fix bugs, address security vulnerabilities, and improve performance.
High availability is a goal for many cloud services. A service with high availability has little to zero downtime with minimal performance degradation, despite intrinsic failures, such as network outages and hardware breakdowns. An orchestration cloud service may be expected to perform maintenance operations, such as upgrades, without compromising performance or availability of the service being upgraded. An orchestration cloud service may also be expected to be highly available itself. Any service outages or performance degradation of the orchestration cloud service may also compromise the availability of the cloud service for which the orchestration operations are being performed. For example, if an orchestration cloud service fails to efficiently update an SaaS application, the SaaS application may be left vulnerable to security violations, leading to downtime or performance degradation.
One approach to reduce downtime during upgrade operations is referred to as the Blue and Green deployment model. According to this approach, two identical production environments, referred to as Blue and Green, are established. However, only one environment is live, and the other is idle. The orchestration cloud service then upgrades the idle production environment while the live production environment continues to operate. Once the upgrade is complete, the idle production environment is brought online, and the live environment is brought down to an idle state.
The Blue and Green deployment model allows upgrades to be performed with little to zero downtime. However, this approach typically does not reduce downtime in non-upgrade orchestration operations. For these operations, the orchestration service may still need to bring down the live production environment. In addition, the Blue and Green deployment model does not ensure the availability of the orchestration cloud service. The orchestration service may fail before or during an orchestration operation, resulting in delays and potentially exposing the production environment to longer outages and performance degradation.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.